package com.sailfish.springbootdemo.utils;

import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

public class RequestParamUtil {

    /**
     * 快捷封装所有请求参数
     * 请求格式统一     param:{"name":"123","age":"22","email":"123@qq.com"}
     * 转化之前判断请求的字符串是否可以转为json对象
     */
    public static Map<String, Object> getJSONObject(String JSONStr) {
        Map<String, Object> map = new HashMap<>();

        if (StringUtils.isBlank(JSONStr)) {
            map.put("result", false);
            map.put("msg", "请求的数据是空字符串");
            map.put("data", "");
        } else {
            try {
                JSONObject jsonObject = new JSONObject(JSONStr);
                map.put("result", true);
                map.put("msg", "成功");
                map.put("data", jsonObject);
            } catch (Exception e) {
                map.put("result", false);
                map.put("msg", "请求的数据不是标准JSON格式");
                map.put("data", "");
            }
        }
        return map;
    }


    /**
     * 判断参数是否存在某个节点
     */
    public static Boolean paramIsExistNode(JSONObject jsonObj, String nodeName) {
        return jsonObj.has(nodeName);
    }

    /**
     * 判断该节点下参数是否empty
     */
    public static Boolean paramIsEmpty(JSONObject jsonObj, String nodeName) {
        return jsonObj.get(nodeName) != null && !"".equals(jsonObj.get(nodeName));
    }
}
